package xiongwei.jiang.util;

import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;

import javax.servlet.http.HttpServletRequest;
import java.util.Objects;

/**
 * 自定义 HTTP 工具类
 *
 * @author 天之蓝
 */
public class HttpUtils {
    /**
     * 获取当前请求
     *
     * @return 对象
     * @author 天之蓝
     */
    public static HttpServletRequest getCurrentRequest() {
        try {
            return ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest();
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        }
    }

    /**
     * 是否 PC
     *
     * @param userAgent 用户代理
     * @return true-是，false-否
     * @author 天之蓝
     */
    public static boolean isPC(String userAgent) {
        return !userAgent.toLowerCase().contains("mobile");
    }

    /**
     * 是否安卓
     *
     * @param userAgent 用户代理
     * @return true-是，false-否
     * @author 天之蓝
     */
    public static boolean isAndroid(String userAgent) {
        return !userAgent.toLowerCase().contains("android");
    }

    /**
     * 是否企业微信内置浏览器
     *
     * @param userAgent 用户代理
     * @return true-是，false-否
     * @author 天之蓝
     */
    public static boolean isWXWorkBrowser(String userAgent) {
        return userAgent.toLowerCase().contains("wxwork");
    }
}
